package chapter02

import chapter01.Student

/**
 * Created with IntelliJ IDEA.
 * ClassName: Test02
 * Package: chapter02
 * Description:
 * User: fzykd
 *
 * @Author: LQH
 *          Date: 2023-06-17
 *          Time: 13:05
 */

object Test02 {

  //能用常量 val  就不用 变量var
  def main(args: Array[String]): Unit = {
    //声明一个变量通用语法
    var a: Int = 10
    //1.申明变量时，类型可以省略,编译器自动推导类型，及类型推导
    var a1 = 10
    val b1 = 20
    //2.类型确定之后 不能修改 说明Scala是强数据类型语言
    var a2 = 15 //自动推断a2类型Int
    //如果 a2 改为字符串类型是不行的
    //a2 = "hello"
    //3.变量声明时,必须要有初始值
    //var a3: Int
    //4.在声明/定义一个变量时,可以使用var或者val来修饰，var修饰的变量可以变 val修饰的变量不可变
    //a1是var申明的 可以改变
    a1 = 13
    //b1是val申明不可以改变
    //b1 = 90
    //常量
    val b: Int = 20
    //引用类型也是如此 val申明是不可以改变的
    val alice = new Student("alice", 20)
    //alice = new Student()
    //是使用val申明的 自身对象是不可变的 但是对象中的元素是可以变的 是类定义决定元素是否可变的
    alice.age = 24
    alice.printIndo() //alice 24 重庆大学
  }
}
